<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        
        // 总结 this 一啊不能情况下指向最后的调用者

        // 特殊 构造函数中的this 指向new出来的实列对象
        // 利用 call apply 去强行修改this的指向
        // 箭头函数中的this情况


        // this 是 js 中的一个关键词 是一个指针 一般指向某一个对象(运行的时候才确定是谁)

        var count = 200; // 全局变量 window.count = 200
        function foo() {
            console.log(this.count);
            // 运行时才能确定 this 最终指向谁
        }

        // 第一种情况
        // 当作函数直接调用时
        foo(); // 以函数的形式直接调用foo 那么里面的this 会指向window this.count===>window.count===>200

        var user = {
            count: 97,
            name: "张三",
            say: foo,
        };
        // 第二种情况
        user.say();
        // 相当于还是在运行foo 函数 this.count
        // 函数作为对象的方法被调用时 那么里面的this指向调用者 (.前面的对象)

        // window.foo() 简写成了foo()
        // 相当于作为window 对象的方法被调用



    </script>
</body>

</html>